<h3><@downloadSource version='2.3.1'/></h3>
<pre>
* 修复:
    01.Fix ：AbstractMergeSettings在刷新加载配置文件的时，因为map无序而导致。主配置文件被率先放入最终结果集中，正常的逻辑应该是最后放入。
</pre>
<h3><@downloadSource version='2.3.0'/></h3>
<pre>
* 新增:
    01.新增“.hasor.default.asEagerSingleton”配置用来配置默认情况下，类型是以单例模式运行还是以原型方式运行。（默认单例模式）
    02.ApiBinder接口新增“asEagerPrototype”方法用来强制以原型方式注册。到目前为止可以选择的方式有：“asEagerSingleton”、“asEagerPrototype”
    03.新增注解配置：@Singleton、@Prototype
    04.单例类如果配置了@Init注解,则在注册到Hasor容器时，会在容器启动的第一时间自动调用init方法以完成对象初始化功能。
        - 这个特性类似Spring配置文件中 init属性的功能。
    05.Hasor启动类新增传入File参数方式指定配置文件。
* 改进:
    01.容器在启动时增加EventContext类型的绑定，开发的时候可以直接通过依赖注入或者appContext.getInstance(EventContext.class)方式的到。
    02.Event插件在接收到事件响应时，需要一直等待AppContext对象被注入进来。原有逻辑是等待10秒注入AppContext对象。
    03.优化EventModule启动时间。
    04.事件处理线程命名。
    05.改进环境变量处理方式，凡是Hasor中定义的环境变量其优先级都高于系统环境变量。这意味着，定义相同名称的环境变量Hasor中配置会覆盖系统的配置。
</pre>
<h3><@downloadSource version='2.2.0'/></h3>
<pre>
* 新增:
    01.增加Event事件注册插件，简化时间的注册机制。
    02.Settings接口增加 addSetting方法和clearSetting方法用来增加和删除配置项。
    03.新增Spring插件，完美与Spring整合。同时支持与Spring的双向事件通知。
        - 支持Hasor的Bean通过Spring获取、支持SpringBean通过Hasor获取。
        - 支持Hasor的事件，通过Spring方式接收、支持Spring的事件，通过Hasor方式接收。
* 改进:
    01.改进事物管理器的拦截器注册机制，从拦截所有类改为只拦截标记了@Transactional注解的方法。
    02.ResourceModule插件的实现机制从 Servlet 改为Filter，当资源无法通过插件获取时候，转交给servlet容器。原有方案是直接抛除404。
    03.RestfulModule插件的实现机制从 Servlet 改为Filter，可以通过WebController类中renderTo方法指定具体要渲染的模版，模版渲染更加灵活。
    04.RestfulModule插件的实现机制从 Servlet 改为Filter，支持ContextMap中setViewName方法来指定渲染的模版。
    05.环境变量，WOR_HOME 从 USER.DIR 更换到 USER.HOME。原因是，USER.DIR 工作目录获取并不是想象的那样始终是在程序位置。
    06.SaxXmlParser类优化，在处理配置项冲突时，升级为保留全部配置。原有逻辑为合并覆盖。
    07.Event接口在传入参数时不再使用“Object[]”方式，改为范型T，这样做简化了开发者在使用事件机制时各种类型转换的麻烦，从而减少错误的概率。
</pre>
<h3><@downloadSource version='2.1.0'/></h3>
<pre>
* 新增:
    01.增加一个WebDemo示例工程。
    02.新增一个插件，简化“modules.module”的配置。
    03.新增restful插件，做为hasor内置Web开发插件。
    04.添加templates插件，该插件将提供模版渲染支持。
* 改进:
    01.修改ShutdownHook钩子。在start时注册它、当shutdown时解除注册。
    02.增加Environment接口的包装器。
    03.为@Inject注解，增加Type枚举。通过枚举可以标识注入是：ByID 还是 ByName。
    04.剔除JSP自定义函数功能。
    05.resource插件在，选择缓存目录时，如果连续失败99999次。将会报一个错误，然后终止插件的启动。
    06.templates插件与resource插件，整合了mimetype插件功能。
    07.Valid插件增加@ValidDefine注解方式定义验证。
* 修复:
    01.Fix “Shutdown in progress”异常。
    02.Fix Web模式下启动空指针异常。
    03.Fix @Inject 注解携带value参数时失效的问题。
</pre>
<h3><@downloadSource version='2.0.0'/></h3>
<pre>
* 新增:
    01.新增 @Inject、@Init 两个注解以支持注解方式的自动注入。
    02.添加 ShutdownHook钩子，当外部终止jvm的时候，Hasor可以引发shutdown过程。
    03.事务管理增加“TransactionTemplate”接口。
    04.启动过程中增加了一些 log 的输出。
    05.将jetty的JSON解析器代码添加到Hasor工具代码中，位于包“org.more.json”。
    06.新增WebApiBinderWrap类。
    07.ASM包升级为5.0版本，原有的ASM组建在解析jdk1.8的类文件时会有异常。
* 改进:
    01.StandardEnvironment构造方法改进。
    02.StartModule接口更名为LifeModule，并新增了onStop方法。至此通过LifeModule接口可以得到模块整个生命周期。
    03.AbstractEnvironment类的initEnvironment方法增加Settings类型参数。createSettings方法不再属于AbstractEnvironment的抽象方法。
    04.StandardEnvironment类增加Settings类型参数的构造方法。
    05.MimeType接口增加getContent()方法。
    06.原有模块在实现 StartModule 接口时，如果是通过启动参数或者配置方式的模块，器onStart调用时间点在“ContextEvent_Started”事件之后。
        - 现改为引发“ContextEvent_Started”事件时。
    07.MVC的插件分离成独立插件。
    08.db包“datasource”模块重构、简化逻辑，它不再提供数据库连接和当前线程的映射绑定。
    09.事务管理器模块大量优化，同时“Manager”更名为“TranManager”。可以更好的让人理解。
    10.事务管理器负责提供数据库连接与当前线程的绑定关系。
    11.删除ResultModule类和其相关的功能，该功能不再是核心功能的一部分。
    12.MVC框架被迁出 Hasor框架成为一个独立的Web开发框架名为“haweb”。
* 修复:
    01.大量优化。。
    02.Fix，classcode模块对long、float、double基本类型错误处理的问题。
    03.AbstractClassConfig增加对 java javax 包类的排除，凡是这两个包的类都不进行aop。
</pre>